﻿using System;
using System.Collections.Generic;
using System.Text;

namespace ServiceCore.Tool.Wx.wx_msg
{
    public class base_msg_func
    {
        /// <summary>
        /// 开始解析数据
        /// </summary>
        /// <param name="xml_data"></param>
        /// <param name="In_data"></param>
        /// <returns></returns>
        public static string start_analysis(string xml_data, Func<string, object, string> handle_reply, bool is_event = false)
        {
            string reply_data = "";
            try
            {
                if (is_event)
                {
                    analysis_wx_msg.evnet_serialize(xml_data, (Msg_Type, obj) =>
                    {
                        if (obj == null)
                        {
                            reply_data = "success";//未能成功解析 直接应答微信方面成功
                        }
                        //设置一个业务插入点,可以针对回复内容做一些事 然后响应到微信
                        reply_data = handle_reply(Msg_Type, obj);
                    });
                }
                else
                {
                    analysis_wx_msg.serialize(xml_data, (Msg_Type, obj) =>
                    {
                        if (obj == null)
                        {
                            reply_data = "success";//未能成功解析 直接应答微信方面成功
                        }
                        //设置一个业务插入点,可以针对回复内容做一些事 然后响应到微信
                        reply_data = handle_reply(Msg_Type, obj);
                    });
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return reply_data;
        }
    }
}
